package com.jn.hilt.manager;

import com.jn.hilt.entity.User;

import javax.inject.Singleton;

import jakarta.inject.Inject;

@Singleton
public class UserManagerParams {
    private final UserStorage userStorage; // 依赖的存储服务

    // 带参数的构造方法注入
    // Hilt会自动传入UserStorage实例（因为UserStorage有@Inject构造方法）
    @Inject
    public UserManagerParams(UserStorage userStorage) {
        this.userStorage = userStorage;
    }

    // 业务方法：创建用户
    public User createUser(String id, String name, int phone, String address) {
        return new User(id, name, phone, address);
    }

    // 业务方法：格式化用户信息
    public String formatUserInfo(User user) {
        return user.toString();
    }

    // 保存用户（依赖UserStorage）
    public void saveUser(User user) {
        userStorage.saveUser(user);
    }

    // 获取已保存的用户（依赖UserStorage）
    public User getStoredUser() {
        return userStorage.getSavedUser();
    }
}